package com.eneat.smartrule.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/***
 * 动作类型枚举，调用方法用于同一个jvm内，http用于不在一个jvm内。。。
 */
@Getter
@AllArgsConstructor
public enum ActionTypeEnum {

    METHOD_CALL("method_call", "调用方法"),
    HTTP_REQUEST("http_request", "发送HTTP请求");

    /**
     * 编码值
     */
    private final String code;

    /**
     * 描述信息
     */
    private final String description;

    /**
     * 根据编码获取枚举
     */
    public static ActionTypeEnum fromCode(String code) {
        for (ActionTypeEnum type : values()) {
            if (type.getCode().equals(code)) {
                return type;
            }
        }
        throw new IllegalArgumentException("未知的动作类型: " + code);
    }
}
